package com.itlong.cloud.POJO.VO.app.old;

import lombok.Getter;
import lombok.Setter;

import java.util.ArrayList;
import java.util.List;

/**
 * <desc>
 *     旧版APP_用户设备权限列表
 * </desc>
 */
@Setter
@Getter
public class AppOldDeviceVO {

    private Integer autoIndex;//设备信息自增长
    private String deviceName;//设备名称
    private Integer deviceType;//1:电梯2:门禁
    private String deviceId;//设备ID
    private String projectId;//项目ID
    private Integer floorNo;//层数
    private Long valiTime;//有效时间
    private java.lang.String floorAuth;
    private java.lang.String doorAuth;
    private java.lang.String userType;
    private String deviceUnique;
    private String signalNum;//校准阈值

    private String commonFloor; //待选公共楼层的权限标识
    //private String commonFloorAuth; //待选公共楼层权限标识对应的标识编码
    private String commonLogicalFloor; //待选公共楼层的逻辑名称

    private String liveFloor; //待选居住楼层权限标识（对应已授权的floorAuth）
    //private String liveFloorAuth; //待选居住楼层的标识编码
    private String liveLogicalFloor; //待选居住楼层的逻辑名称

    private String commonChoiceFloor; //已选公共楼层权限标识
    //private String commonChoiceFloorAuth; //已选公共楼层权限编码
    private String commonLogicalChoiceFloor; //已选公共楼层逻辑名称

    private String liveChoiceFloor; //已选居住楼层权限标识
    //private String liveChoiceFloorAuth; //已选居住楼层权限编码
    private String liveLogicalChoiceFloor; //已选居住楼层逻辑名称

    private String ownBuildNum;  //设备服务的楼栋编号
    private String ownUnitNum; //设备服务的楼栋对应的单元编号


    private String protocolVersion;//协议版本号，0-第一版，1-第二版
    private String cardNum; //软卡号,供一卡通与APP、硬件使用
    private String pubKey; //项目密钥，加密使用

    private String sipAccount;
    private String sipPsd;


    private List<AppOldDeviceServeRoomVO> roomArr = new ArrayList<>(); //云对讲设备所服务的房间


    public AppOldDeviceVO(){

    }
    public AppOldDeviceVO(String deviceName,Integer deviceType,String deviceId,Long valiTime,String userType,String deviceUnique,String signalNum,String cardNum,String pubKey){
        this.deviceName = deviceName;
        this.deviceType = deviceType;
        this.deviceId = deviceId;
        this.valiTime = valiTime;
        this.userType = userType;
        this.deviceUnique = deviceUnique;
        this.signalNum = signalNum;
        this.cardNum = cardNum;
        this.pubKey = pubKey;
    }

    /**
     * <desc>
     *     门禁与云对讲响应体
     * </desc>
     * @param deviceName
     * @param deviceType
     * @param deviceId
     * @param valiTime
     * @param userType
     * @param deviceUnique
     * @param signalNum
     * @param cardNum
     * @param pubKey
     * @param doorAuth
     */
    public AppOldDeviceVO(String deviceName,Integer deviceType,String deviceId,Long valiTime,
        String userType,String deviceUnique,String signalNum,String cardNum,String pubKey,String doorAuth){
        this.deviceName = deviceName;
        this.deviceType = deviceType;
        this.deviceId = deviceId;
        this.valiTime = valiTime;
        this.userType = userType;
        this.deviceUnique = deviceUnique;
        this.signalNum = signalNum;
        this.cardNum = cardNum;
        this.pubKey = pubKey;
        this.doorAuth = doorAuth;
    }


   public AppOldDeviceVO(String deviceName,Integer deviceType,String deviceId,Long valiTime,String userType,
        String deviceUnique,String signalNum,String cardNum,String pubKey,String floorAuth,String commonFloor,String liveFloor,String commonChoiceFloor,String liveChoiceFloor){
       this.deviceName = deviceName;
       this.deviceType = deviceType;
       this.deviceId = deviceId;
       this.valiTime = valiTime;
       this.userType = userType;
       this.deviceUnique = deviceUnique;
       this.signalNum = signalNum;
       this.cardNum = cardNum;
       this.pubKey = pubKey;
       this.floorAuth = floorAuth;
       this.commonFloor = commonFloor;
       this.liveFloor = liveFloor;
       this.commonChoiceFloor = commonChoiceFloor;
       this.liveChoiceFloor = liveChoiceFloor;
    }




}
